package model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DismissExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DismissExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDismissnoIsNull() {
            addCriterion("dismissNo is null");
            return (Criteria) this;
        }

        public Criteria andDismissnoIsNotNull() {
            addCriterion("dismissNo is not null");
            return (Criteria) this;
        }

        public Criteria andDismissnoEqualTo(Integer value) {
            addCriterion("dismissNo =", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoNotEqualTo(Integer value) {
            addCriterion("dismissNo <>", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoGreaterThan(Integer value) {
            addCriterion("dismissNo >", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoGreaterThanOrEqualTo(Integer value) {
            addCriterion("dismissNo >=", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoLessThan(Integer value) {
            addCriterion("dismissNo <", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoLessThanOrEqualTo(Integer value) {
            addCriterion("dismissNo <=", value, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoIn(List<Integer> values) {
            addCriterion("dismissNo in", values, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoNotIn(List<Integer> values) {
            addCriterion("dismissNo not in", values, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoBetween(Integer value1, Integer value2) {
            addCriterion("dismissNo between", value1, value2, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissnoNotBetween(Integer value1, Integer value2) {
            addCriterion("dismissNo not between", value1, value2, "dismissno");
            return (Criteria) this;
        }

        public Criteria andDismissdateIsNull() {
            addCriterion("dismissDate is null");
            return (Criteria) this;
        }

        public Criteria andDismissdateIsNotNull() {
            addCriterion("dismissDate is not null");
            return (Criteria) this;
        }

        public Criteria andDismissdateEqualTo(Date value) {
            addCriterion("dismissDate =", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateNotEqualTo(Date value) {
            addCriterion("dismissDate <>", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateGreaterThan(Date value) {
            addCriterion("dismissDate >", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateGreaterThanOrEqualTo(Date value) {
            addCriterion("dismissDate >=", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateLessThan(Date value) {
            addCriterion("dismissDate <", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateLessThanOrEqualTo(Date value) {
            addCriterion("dismissDate <=", value, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateIn(List<Date> values) {
            addCriterion("dismissDate in", values, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateNotIn(List<Date> values) {
            addCriterion("dismissDate not in", values, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateBetween(Date value1, Date value2) {
            addCriterion("dismissDate between", value1, value2, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissdateNotBetween(Date value1, Date value2) {
            addCriterion("dismissDate not between", value1, value2, "dismissdate");
            return (Criteria) this;
        }

        public Criteria andDismissidIsNull() {
            addCriterion("dismissID is null");
            return (Criteria) this;
        }

        public Criteria andDismissidIsNotNull() {
            addCriterion("dismissID is not null");
            return (Criteria) this;
        }

        public Criteria andDismissidEqualTo(Integer value) {
            addCriterion("dismissID =", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidNotEqualTo(Integer value) {
            addCriterion("dismissID <>", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidGreaterThan(Integer value) {
            addCriterion("dismissID >", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidGreaterThanOrEqualTo(Integer value) {
            addCriterion("dismissID >=", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidLessThan(Integer value) {
            addCriterion("dismissID <", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidLessThanOrEqualTo(Integer value) {
            addCriterion("dismissID <=", value, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidIn(List<Integer> values) {
            addCriterion("dismissID in", values, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidNotIn(List<Integer> values) {
            addCriterion("dismissID not in", values, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidBetween(Integer value1, Integer value2) {
            addCriterion("dismissID between", value1, value2, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismissidNotBetween(Integer value1, Integer value2) {
            addCriterion("dismissID not between", value1, value2, "dismissid");
            return (Criteria) this;
        }

        public Criteria andDismisscauseIsNull() {
            addCriterion("dismissCause is null");
            return (Criteria) this;
        }

        public Criteria andDismisscauseIsNotNull() {
            addCriterion("dismissCause is not null");
            return (Criteria) this;
        }

        public Criteria andDismisscauseEqualTo(String value) {
            addCriterion("dismissCause =", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseNotEqualTo(String value) {
            addCriterion("dismissCause <>", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseGreaterThan(String value) {
            addCriterion("dismissCause >", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseGreaterThanOrEqualTo(String value) {
            addCriterion("dismissCause >=", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseLessThan(String value) {
            addCriterion("dismissCause <", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseLessThanOrEqualTo(String value) {
            addCriterion("dismissCause <=", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseLike(String value) {
            addCriterion("dismissCause like", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseNotLike(String value) {
            addCriterion("dismissCause not like", value, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseIn(List<String> values) {
            addCriterion("dismissCause in", values, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseNotIn(List<String> values) {
            addCriterion("dismissCause not in", values, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseBetween(String value1, String value2) {
            addCriterion("dismissCause between", value1, value2, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisscauseNotBetween(String value1, String value2) {
            addCriterion("dismissCause not between", value1, value2, "dismisscause");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanIsNull() {
            addCriterion("dismissHandleMan is null");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanIsNotNull() {
            addCriterion("dismissHandleMan is not null");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanEqualTo(String value) {
            addCriterion("dismissHandleMan =", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanNotEqualTo(String value) {
            addCriterion("dismissHandleMan <>", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanGreaterThan(String value) {
            addCriterion("dismissHandleMan >", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanGreaterThanOrEqualTo(String value) {
            addCriterion("dismissHandleMan >=", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanLessThan(String value) {
            addCriterion("dismissHandleMan <", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanLessThanOrEqualTo(String value) {
            addCriterion("dismissHandleMan <=", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanLike(String value) {
            addCriterion("dismissHandleMan like", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanNotLike(String value) {
            addCriterion("dismissHandleMan not like", value, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanIn(List<String> values) {
            addCriterion("dismissHandleMan in", values, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanNotIn(List<String> values) {
            addCriterion("dismissHandleMan not in", values, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanBetween(String value1, String value2) {
            addCriterion("dismissHandleMan between", value1, value2, "dismisshandleman");
            return (Criteria) this;
        }

        public Criteria andDismisshandlemanNotBetween(String value1, String value2) {
            addCriterion("dismissHandleMan not between", value1, value2, "dismisshandleman");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}